It is common for computer applications and operating systems to be configured such that the computer operating systems periodically receive messages from computer applications. The messages inform the operating system that the applications are functioning properly. When an application does not transmit a message when expected, the application is considered to be “hung.” An application can hang for a number of reasons, including a slow network connection, an intensive processing routine or an error condition. Users often notice that an application is hung when an application window appears, but does not allow the users to interact with an application. For example, a word processing application may periodically send messages to an operating system. When the word processing application becomes hung, the user may be allowed to move an application window, but cannot save a document, access any of the menu commands or perform any other operation that requires the word processing application to interact with the operating system.
Existing computer operating systems provide limited information to users when an application hangs. Users can become frustrated when trying to interact with an application window that they can see, but is non-responsive to inputs from the users. Moreover, with existing systems, it is not always clear which application windows are part of a single process. As used herein, a process comprises a program in execution. For example, two web browser windows may be part of the same process when they are opened using a first procedure and not part of the same process when they are opened with a second procedure. Merely observing the application windows does not provide an indication of whether they are part of the same process. As a result, it is difficult for users to determine which windows will be closed and data lost when a process is terminated. With existing systems and methods it can also be difficult for users to determine what options are available for responding to a hung application.
Therefore, there is a need in the art for computer operating system functionality that indicates which application windows will be closed when a hung application is terminated and what options are available to users when an application enters a hung state.